﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace QLTV
{
    public partial class frmGhiNhanMatSach : Form
    {
        public frmGhiNhanMatSach()
        {
            InitializeComponent();
        }

        private void frmGhiNhanMatSach_Load(object sender, EventArgs e)
        {
            int maPhieu = PhieuGhiMatSachService.LayMaPhieuGhiMax();
            txtMaPhieuGhi.Text = (maPhieu + 1).ToString();
            txtMaNV.Text = ThongTinDangNhapService.maNV.ToString();
            txtHoTenNV.Text = ThongTinDangNhapService.tenNV;           

        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtMaTheDocGia_TextChanged(object sender, EventArgs e)
        {
            int maDocGia = int.Parse(txtMaTheDocGia.Text);
            DocGiaDTO docGia = DocGiaService.LayThongTinDocGia(maDocGia);
            txtHoTen.Text = docGia.HoTen;
            string ngay = docGia.NgaySinh.Day.ToString();
            string thang = docGia.NgaySinh.Month.ToString();
            string nam = docGia.NgaySinh.Year.ToString();
            string ngaySinh = ngay + "/" + thang + "/" + nam;
            txtNgaySinh.Text = ngaySinh;
            txtTienNo.Text = docGia.TienNo.ToString();
        }

        private void txtMaSach_TextChanged(object sender, EventArgs e)
        {
            int maSach = int.Parse(txtMaSach.Text);
            DataTable sachMat = SachService.LayThongTinSachMat(maSach);
            txtTenSach.Text = sachMat.Rows[0]["TenSach"].ToString();
            txtTheLoai.Text = sachMat.Rows[0]["TenTheLoai"].ToString();
            txtTriGia.Text = sachMat.Rows[0]["DonGia"].ToString();
        }

        private void btnGhiNhan_Click(object sender, EventArgs e)
        {
            PhieuGhiMatSachDTO phieuGhiDTO = new PhieuGhiMatSachDTO();
            SachDTO sachDTO = new SachDTO();
            DocGiaDTO docGiaDTO = new DocGiaDTO();            
            
            phieuGhiDTO.NgayGhiNhan = Convert.ToDateTime(dtpNgayGhiNhan.Text);
            phieuGhiDTO.MaDocGia = int.Parse(txtMaTheDocGia.Text);
            phieuGhiDTO.MaSach = int.Parse(txtMaSach.Text);
            phieuGhiDTO.MaNV = ThongTinDangNhapService.maNV; // Lay MaNV tu NV da dang nhap
            sachDTO = SachService.LayThongTinSach(phieuGhiDTO.MaSach);
            float tienPhat = float.Parse(txtTienPhat.Text);
            if (tienPhat >= sachDTO.DonGia)
            {
                phieuGhiDTO.TienPhat = float.Parse(txtTienPhat.Text);
                PhieuGhiMatSachService.LapPhieuGhi(phieuGhiDTO);


                sachDTO.TinhTrangSach = 3;
                SachService.CapNhatSach(sachDTO);

                docGiaDTO = DocGiaService.LayThongTinDocGia(Convert.ToInt32( phieuGhiDTO.MaDocGia));
                docGiaDTO.TienNo = docGiaDTO.TienNo + phieuGhiDTO.TienPhat;
                DocGiaService.CapNhatDocGia(docGiaDTO);
                MessageBox.Show("Ghi nhan mat sach thanh cong!");
            }
            else
                MessageBox.Show("Tien phat khong duoc nho hon gia tri cua cuon sach! Vui long nhap lai.");            

        }
    }
}
